package com.wjm.api.FileOutputStream;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Data:2022年07月09日
 * Author:wjm
 * Content: 面试题
 *
 *
 *  实现，图片，视频的复制
 *
 *  这里计算的程序运行完花费的时间是为了与BufferedStream包下的Text类进行比较
 *  是为了证明缓冲流的方法读写效率比普通方法高（不过这里复制的文件大小太小以至于比较不出来）
 *
 */
public class Text {
    public static void main(String[] args) throws IOException {
        //获取当前程序运行开始时的系统时间
        long startTime = System.currentTimeMillis();

        //创建一个读取源数据的输入流对象
        FileInputStream inputStream =new FileInputStream("D:\\学科\\大数据采集\\《大数据应用技术》复习题.pdf");
        //创建一个写入复制品的输出流对象
        FileOutputStream outputStream = new FileOutputStream("D:\\学科\\大数据采集\\《大数据应用技术》复习题.doc");

        //创建byte[]数组 ，1兆=1024字节
        byte[] bytes =new byte[1024];
        //声明一个末尾标识符
        int len;
        //循环读取和写入数据
        while ((len = inputStream.read(bytes)) != -1){
            //写入数据
            outputStream.write(bytes,0,len);
        }
        //关闭流连接，释放资源
        inputStream.close();
        outputStream.close();

        //获取程序运行完时系统的时间
        long endTime = System.currentTimeMillis();
        //计算程序运行花费的时间
        System.out.println("程序运行完成花费发时间为："+(startTime-endTime));
    }
}
